Rhombus 68000 Assembly ROM editor alpha version 0.1

[b] OVERVIEW [/b]

This program will read and parse Motorola 68000 rom files into a GUI editor.  The program includes a 68k disassembler, 4bpp tile editor, pallate editor, and hex editor.

There is also a text finder, for translation projects, which is in the very early stages of development, and currently seems only helpful for finding ASCII English text in the rom file.


[b] STARTING RHOMBUS [/b]

To run Rhombus, either double-click on the JAR file, or run it from the command line:

java -jar rhombus.jar ROM_FILE MAP_FILE

Where FOM_FILE and NAP_FILE are optional command line parameters.


[b] FILES SUPPORTED [/b]
The program generates the following types of output: rom files, asm files, ips files, and map files.  Map files are specific to Rhombus and store all of the annotation data for the rom file.


[b] DISASSEMBLY PROCESS [/b]
The disassembly works through a semi-automatic method.  First, all reachable code is parsed up to any indirect jumps, called "A-jumps".  The user can then specify a list of destinations where an "A-jump" insruction points to, and the parser will parse those locations as well.  This may lead to more A-jump instructions being found in the rom.  The disassembly should be complete and 100% accurate once the user has specified all of the destinations for every A-jump instruction in fhe file.

For reference, "A-jumps" comrpise any jmp or jsr instruction using any address mode other than immediate or PC displacement.  Examples include: jmp (A0), and jsr #$8(PC,D0.w).  The term A-jump and indirect jump are both used in the program interchangeably.  The term A-jump is in reference to the majority of these instructions involving the A register and the jump instruction.


[b] LICENSE [/b]
Free for non-commercial use only.  Contact for pricing for commercial use.  Will consider interesting collectables and offers for trade, such as old Sega Genesis, Saturn, Playstation, or Super Nintendo hardware and/or games.  Twitter: @jamal_zedman

Please also contact regarding any bugs or feature requests.